﻿namespace MEF_Test.Contracts
{
    using System.Collections.Generic;
    using System.Windows;

    public interface INodeAction
    {
        #region Properties

        /// <summary>
        /// Gets the template.
        /// </summary>
        /// <value>The template.</value>
        DataTemplate Template { get; }

        #endregion

        #region Public Methods

        /// <summary>
        /// Gets the compatible providers.
        /// </summary>
        /// <param name="browserNodeBase">The browser node base.</param>
        /// <returns>An enumerable of all the providers which are compatible with the specified <see cref="IBrowserNodeViewModel"/>.</returns>
        IEnumerable<IActionContextProvider> GetCompatibleProviders(IBrowserNodeViewModel browserNodeBase);

        #endregion
    }
}
